From dcc2d386c571cc16df14186a61c79ca06a233364 Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Wed, 20 Jun 2007 14:57:49 +0100 Subject: [PATCH] x86: fix early option scanning Make sure command lines like ... vgaxyz vga= ... console=vga vga= do not mistakenly ignore the vga= option due to finding 'vga' earlier on the line. Signed-off-by: Jan Beulich Signed-off-by: Keir Fraser --- xen/arch/x86/boot/cmdline.S | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/xen/arch/x86/boot/cmdline.S b/xen/arch/x86/boot/cmdline.S index 9dcce5e155..3e7476d550 100644 --- a/xen/arch/x86/boot/cmdline.S +++ b/xen/arch/x86/boot/cmdline.S @@ -119,30 +119,31 @@ ret .Lfind_option: + mov 4(%esp),%eax + dec %eax push %ebx - push 4+8(%esp) - push 4+8(%esp) +1: pushl 4+8(%esp) + inc %eax + push %eax call .Lstrstr add $8,%esp test %eax,%eax jz 3f cmp %eax,4+4(%esp) - je 1f + je 2f cmpb $' ',-1(%eax) - jne 2f -1: mov %eax,%ebx - push 4+8(%esp) + jne 1b +2: mov %eax,%ebx + pushl 4+8(%esp) call .Lstrlen add $4,%esp - xchg %eax,%ebx - add %eax,%ebx + xadd %eax,%ebx cmpb $'\0',(%ebx) je 3f cmpb $' ',(%ebx) je 3f cmpb $'=',(%ebx) - je 3f -2: xor %eax,%eax + jne 1b 3: pop %ebx ret -- 2.30.2